from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_jwt_extended import JWTManager
from flask_marshmallow import Marshmallow
from flask_caching import Cache
from flask_mail import Mail
from redis import Redis


# 创建扩展对象
db = SQLAlchemy()
migrate = Migrate()
jwt = JWTManager()#标准化三部分token验证，令牌
ma = Marshmallow()#序列化,数据库添加读取数据时的验证，序列化（dump输出）：将 User 对象转为JSON（排除 password_hash，包含 id/email/roles 等）反序列化（load输入）：验证数据并创建 User 实例（自动检查密码长度、邮箱格式、用户名唯一性）安全设计：密码仅用于输入（load_only），哈希值永不输出（exclude）
cache = Cache()#缓存
mail = Mail()
redis = Redis(host='redis', port=6379)